#pragma once

#include <map>
#include <string>
using namespace std;

class CSGD_XAudio2;

class AudioManager
{
	CSGD_XAudio2* xA;
	//Music State names:
	//menus = main menu music
	//gameplay = gameplay state

	//name of state(group), ID of music
	map<string, int> musicIDs;
	//name of sound effect, ID of sfx
	map<string, int> sfxIDs;

	AudioManager(void);
	virtual ~AudioManager(void);
public:
	static AudioManager* GetInstance( void );

	void Initialize();

	void addMusic(string stateName, int musID);
	void addSFX(string sfxName, int sfxID);

	void startMusic(string curState);
	void switchMusic(string curState, string newState);
	void playSFX(string sfxName);
};

